# Lab's bench: the base environment every experiment runs in (docs/16 "The bench"), made at cache/lab/env/base.
# Exact versions: each the newest on PyPI on 24 Oct 2026 that resolves with the rest for Python 3.12 on macOS 15 arm64
# (torch's macOS arm64 wheel carries MPS; mlx and mlx-lm are Apple's own, for arm64 Macs only). base.lock is this list
# resolved in full, every file with its hash; the engine installs from the lock. Made with:
#
#   MACOSX_DEPLOYMENT_TARGET=15.0 uv pip compile requirements-base.txt --python-version 3.12 \
#     --python-platform aarch64-apple-darwin --generate-hashes --no-header -o base.lock
#
# A bump changes a line here, then the lock; the engine makes the whole environment again beside the old one.

# data
pandas==3.1.0
polars==2.0.0
pyarrow==26.0.0
numpy==2.5.4
duckdb==2.0.0
openpyxl==3.1.5

# charts
matplotlib==3.11.2
seaborn==0.13.2

# classical ML
scikit-learn==1.9.1
scipy==1.18.1
statsmodels==0.15.0

# deep learning
torch==2.14.1
transformers==5.20.2
datasets==5.1.0
tokenizers==0.23.3
sentence-transformers==6.2.0
accelerate==1.15.0
safetensors==0.8.0

# Apple-native
mlx==0.32.4 ; sys_platform == 'darwin' and platform_machine == 'arm64'
mlx-lm==0.32.2 ; sys_platform == 'darwin' and platform_machine == 'arm64'

# outside: the Hugging Face cache on the shelf, Ollama on this Mac
huggingface-hub==2.3.0
ollama==0.6.3

# text and files
regex==2026.9.29
rapidfuzz==3.14.6
pypdf==6.21.2
python-docx==1.2.0
beautifulsoup4==4.15.0

# plumbing
httpx==0.28.1
tqdm==4.70.1
rich==15.0.0
